package com.starhub.application.agent.dto;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Map;

/**   
 * @Description:(智能体对话输入参数)
 * @version: V1.0
 * @author: liuhf
 * 
 */
public class AIChatInfo implements Serializable {
    private String userId; // 用户ID
    private String sessionId; // 会话ID
    private String userMessage; // 用户输入消息
    private Long agentId; // 选择的智能体对象
    private Map<String, Object> additionalParams; // 其他相关参数
    private String promptName; // 指定的提示词名称
    private String functionName; // 指定的函数名称
    private String selectedModel; // 模型标识
    private LocalDateTime requestTime; // 模型标识

    /**
     * 对话类型；chat：对话；writing: 写作；outline：大纲；format：格式化；proofread：纠错；
     */
    private String type;

    private String mark;
    
    // Getters 和 Setters
    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getSessionId() {
        return sessionId;
    }

    public void setSessionId(String sessionId) {
        this.sessionId = sessionId;
    }

    public String getUserMessage() {
        return userMessage;
    }

    public void setUserMessage(String userMessage) {
        this.userMessage = userMessage;
    }

    public Long getAgentId() {
        return agentId;
    }

    public void setAgentId(Long agentId) {
        this.agentId = agentId;
    }

    public Map<String, Object> getAdditionalParams() {
        return additionalParams;
    }

    public void setAdditionalParams(Map<String, Object> additionalParams) {
        this.additionalParams = additionalParams;
    }

    public String getPromptName() {
        return promptName;
    }

    public void setPromptName(String promptName) {
        this.promptName = promptName;
    }

    public String getFunctionName() {
        return functionName;
    }

    public void setFunctionName(String functionName) {
        this.functionName = functionName;
    }

    public String getSelectedModel() {
        return selectedModel;
    }

    public void setSelectedModel(String selectedModel) {
        this.selectedModel = selectedModel;
    }

    public LocalDateTime getRequestTime() {
        return requestTime;
    }

    public void setRequestTime(LocalDateTime requestTime) {
        this.requestTime = requestTime;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getMark() {
        return mark;
    }

    public void setMark(String mark) {
        this.mark = mark;
    }
}
